package domain.impl;

import domain.impl.common.*;

import javax.persistence.*;

/**
 * Author: nml
 * 08/02/2009 - 18:27:27
 */
@SuppressWarnings("serial")
@Entity
public class Proveedor extends AbstractBusinessObject {

    @Id
    private int id;
    private String razonSocial;
    private String cuit;            // sin guiones
    private int situacionFiscalId;
    private String domicilioCalle;
    private int domicilioNro;
    private String domicilioDepto;
    private String domicilioLocalidad;
    private String domicilioCodPost;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "provinciaId")
    private Provincia provincia;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "paisId")
    private Pais pais;

    private String telefono;  // sin guiones
    private String paginaWeb;
    private String correoElectronico;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "formaPagoId")
    private FormaPago formaPago;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "tipoEntregaId")
    private TipoEntrega tipoEntrega;

    private String representante;
    private boolean esCertificado;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "estadoId")
    private Estado estado;

    private int calificacion;
    private String observaciones;

    //TODO : si pudiera acceder a la aplicacion via inet requerira UsuarioId

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getRazonSocial() {
        return razonSocial;
    }

    public void setRazonSocial(String razonSocial) {
        this.razonSocial = razonSocial;
    }

    public String getCuit() {
        return cuit;
    }

    public void setCuit(String cuit) {
        this.cuit = cuit;
    }

    public int getSituacionFiscalId() {
        return situacionFiscalId;
    }

    public void setSituacionFiscalId(int situacionFiscalId) {
        this.situacionFiscalId = situacionFiscalId;
    }

    public String getDomicilioCalle() {
        return domicilioCalle;
    }

    public void setDomicilioCalle(String domicilioCalle) {
        this.domicilioCalle = domicilioCalle;
    }

    public int getDomicilioNro() {
        return domicilioNro;
    }

    public void setDomicilioNro(int domicilioNro) {
        this.domicilioNro = domicilioNro;
    }

    public String getDomicilioDepto() {
        return domicilioDepto;
    }

    public void setDomicilioDepto(String domicilioDepto) {
        this.domicilioDepto = domicilioDepto;
    }

    public String getDomicilioLocalidad() {
        return domicilioLocalidad;
    }

    public void setDomicilioLocalidad(String domicilioLocalidad) {
        this.domicilioLocalidad = domicilioLocalidad;
    }

    public String getDomicilioCodPost() {
        return domicilioCodPost;
    }

    public void setDomicilioCodPost(String domicilioCodPost) {
        this.domicilioCodPost = domicilioCodPost;
    }

    public Provincia getProvincia() {
        return provincia;
    }

    public void setProvincia(Provincia provincia) {
        this.provincia = provincia;
    }

    public Pais getPais() {
        return pais;
    }

    public void setPais(Pais pais) {
        this.pais = pais;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getPaginaWeb() {
        return paginaWeb;
    }

    public void setPaginaWeb(String paginaWeb) {
        this.paginaWeb = paginaWeb;
    }

    public String getCorreoElectronico() {
        return correoElectronico;
    }

    public void setCorreoElectronico(String correoElectronico) {
        this.correoElectronico = correoElectronico;
    }

    public FormaPago getFormaPago() {
        return formaPago;
    }

    public void setFormaPago(FormaPago formaPago) {
        this.formaPago = formaPago;
    }

    public TipoEntrega getTipoEntrega() {
        return tipoEntrega;
    }

    public void setTipoEntrega(TipoEntrega tipoEntrega) {
        this.tipoEntrega = tipoEntrega;
    }

    public String getRepresentante() {
        return representante;
    }

    public void setRepresentante(String representante) {
        this.representante = representante;
    }

    public boolean isEsCertificado() {
        return esCertificado;
    }

    public void setEsCertificado(boolean esCertificado) {
        this.esCertificado = esCertificado;
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

    public int getCalificacion() {
        return calificacion;
    }

    public void setCalificacion(int calificacion) {
        this.calificacion = calificacion;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }
}
